<?php
/*
 UPLOAD.PHP by martin $ 2010/04/07 06:30:46
*/

 include_once('owner/ini.inc.php');
 include_once('utils.php');
 include_once('utils_admin.php');
 include_once('session.class.php');

if(!isset($output)){
 header ("Content-Type: text/html; charset=".ENCODE);
}

if(g_('type') == 'dirsize'){
 if(isset($_COOKIE['PPBLOG_ADMIN_CONF']['tmp_dir'])){
  $tmp_dir = str_replace('%2F', '/', $_COOKIE['PPBLOG_ADMIN_CONF']['tmp_dir']);
 } else $tmp_dir = '/tmp';

 $size = 0;
 $d = opendir($tmp_dir);
 while($file = readdir ($d)){
  if(is_file($tmp_dir.'/'.$file)){
   $size += filesize($tmp_dir.'/'.$file);
  }
 }
 closedir($d);
 echo $size; exit;
}

if(!defined('ADMIN')) define('ADMIN', Auth() ? TRUE : FALSE);

if($mb){
 mb_language('Japanese');
 mb_internal_encoding(ENCODE);
}
 $ip = getenv('REMOTE_ADDR') ? getenv('REMOTE_ADDR') : $_SERVER['REMOTE_ADDR'];
 $_ip = implode('', array_slice($sip=explode('.', $ip), 0, 2));
 $key1 = urldecode(my_decrypt(g_('KY')));

if(ADMIN != TRUE){ // For rescue
 if($key1 != md5($_ip.OPASS)) _header('admin.php');
}

if(is_file($db=DB.'images.db')){
 $images_cache = file($db);
} else $images_cache = array();

$standalone = (g_('state')=='standalone'||p_('standalone')==1) ? 1 : 0;
$MT_IMPORT = v_('type')=='mtimport' ? TRUE : FALSE;
$PPDRAW = v_('type')=='ppdraw' ? TRUE : FALSE;

$breadth = isset($_COOKIE["PPBLOG_ADMIN_CONF"]["breadth"]) ? $_COOKIE["PPBLOG_ADMIN_CONF"]["breadth"] : MAX_ISIZE;
$quality = isset($_COOKIE["PPBLOG_ADMIN_CONF"]["quality"]) ? $_COOKIE["PPBLOG_ADMIN_CONF"]["quality"] : 75;

if(p_('breadth') != ''){
 $breadth = p_('breadth');
 setcookie("PPBLOG_ADMIN_CONF[breadth]", $breadth, time()+3600*24*30);
}

if(p_('quality') != ''){
 $quality = p_('quality');
 setcookie("PPBLOG_ADMIN_CONF[quality]", $quality, time()+3600*24*30);
}

$isThumb = $isThumb2 = 0;

$multiples = my_glob("multiple_", IMG_DIR);

if(!empty($multiples) && !isset($output)){ // Multiple File Upload mode
 $MULTIPLE = count($multiples);
 if(g_('type') == 'cancel'){
  for ($x = 0; $x < $MULTIPLE; $x++){
   $attached_file = preg_replace('{(\d+?d?_)\d+?multiple_}', '$1', $multiples[$x]);
   rename($multiples[$x], $attached_file);
   rename(str_replace(IMG_DIR, IMG_DIR.THUMB1, $multiples[$x]), $attached_file);
   rename(str_replace(IMG_DIR, IMG_DIR.THUMB2, $multiples[$x]), $attached_file);
  }
  exit;
 }
 if(g_('type') == 'applyall'){
  $tmp = rawurldecode(g_('tmp'));
  $code = '\r\n';
 }
 sort($multiples);
 for ($x = 0; $x < $MULTIPLE; $x++){
  list($w, $h, $imgtype, $wh) = getimagesize($multiples[$x]);
  $attached_file = preg_replace('{(\d+?d?_)\d+?multiple_}', '$1', $multiples[$x]);
  if(rename($multiples[$x], $attached_file)){
   $real_fs = $fs = round(filesize($attached_file)/1024, 1);
   $fname = preg_replace(array('{^\d+?d?_}', '{\.\w+?$}'), '', basename($attached_file, '.jpg'));
   $target_dir = IMG_DIR; $isImage = 1;
   $ratio = ($breadth == 0) ? 1 : $breadth / max($w, $h);
   $isThumb = ($ratio < 1) ? 1 : 0;
   $thumb1img = str_replace(IMG_DIR, IMG_DIR.THUMB1, $multiples[$x]);
   $_thumb2img = str_replace(IMG_DIR, IMG_DIR.THUMB2, $multiples[$x]);
   if(is_file($thumb1img)){
    rename($thumb1img, preg_replace('{(\d+?d?_)\d+?multiple_}', '$1', $thumb1img));
    $isThumb = 1;
   }
   if(is_file($_thumb2img)){
    $thumb2img = preg_replace('{(\d+?d?_)\d+?multiple_}', '$1', $_thumb2img);
    rename($_thumb2img, $thumb2img);
    list($t2w, $t2h,,) = getimagesize($thumb2img);
    $isThumb2 = 1;
   }
   $real_w = $w; $real_h = $h;
   if(max($w, $h) > 280){
    if($isThumb2){
     if(max($t2w, $t2h) > 280){
      $r2 = 280/max($t2w, $t2h);
      $disp_w = round($t2w * $r2);
      $disp_h = round($t2h * $r2);
     } else {
      $disp_w = $t2w; $disp_h = $t2h;
     }
    } else {
     $r2 = 280/max($w, $h);
     $disp_w = round($w * $r2); $disp_h = round($h * $r2);
    }
   } else {
    $disp_w = $w; $disp_h = $h;
   }
   $images_cache = preg_replace('{(\d+?d?_|)\d+?multiple_}', '$1', $images_cache);
   rewrite($db, $images_cache);
   update_images_cache($images_cache);
   $output = '<img src="'.($isThumb2 ? $thumb2img : $attached_file).'" width="'.$disp_w.'" height="'.$disp_h.'" class="photo" alt="*" title="大きさ：'.$w.'x'.$h.'" />';
   if(g_('type') == 'applyall'){
    $t2w = isset($t2w) ? $t2w : 0; $t2h = isset($t2h) ? $t2h : 0;
    $code .= "<img src=\"$attached_file\" alt=\"$real_fs:$w:$h:$t2w:$t2h:$fname$tmp/>".'\r\n';
   } else {
    include('upload.php');
    return;
   }
  }
 } #for-loop
}

if(!isset($output) && ((isset($_FILES['src']) && $_FILES['src']['name'] != '') || $MT_IMPORT  || $PPDRAW)){
 if(!$MT_IMPORT){
  $w = $h = 0; $uid = '';
 } else {
  $breadth = 0; // MTがあるサーバー上の元のサイズを取得
 }
 $fs = $t2w = $t2h = $real_w = $real_h = $real_fs = $MULTIPLE = 0;
 $fname = $description = $fext = $thumb_info = '';
 $attached_file = $_attached_file = $errorMsg = array();
 $count = isset($_FILES['src']) ? count($_FILES['src']['name']) : 1;
 for ($x = 0; $x < $count; $x++){
  if(!$MT_IMPORT && !$PPDRAW){
   if($_FILES['src']['error'][$x] > 0){
    if($_FILES['src']['error'][$x] == 2){
     $errorMsg[] = 'ファイルサイズが設定値 '.MAX_FSIZE.' MB より大きいようです。';
    } else $errorMsg[] = '添付ファイルのアップロードエラー！ ERROR CODE: '.$_FILES['src']['error'][$x];
    continue;
   }
   if($_FILES['src']['tmp_name'][$x]){ // upload suceeded
    if(!isset($tmp_dir)){
     $tmp_dir = dirname($_FILES['src']['tmp_name'][$x]);
     setcookie("PPBLOG_ADMIN_CONF[tmp_dir]", $tmp_dir, time()+3600*24*30);
    }
    $fs = round(filesize($_FILES['src']['tmp_name'][$x])/1024, 1);
    if($count > 1){
     if(!strstr($_FILES['src']['type'][$x], 'image')) continue; // images only
    }
    if(preg_match('/bmp|png|gif|p?jpe?g/i', $_FILES['src']['type'][$x])){
     $target_dir = IMG_DIR;
     $isImage = 1;
     // 1 = GIF, 2 = JPG, 3 =PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF
     list($w, $h, $imgtype, $wh) = getimagesize($_FILES['src']['tmp_name'][$x]);
    } elseif(preg_match('/asf|avi|3gp|amc|mp3|mp4|nor|mpg|mpeg|wma|wmv/i', $_FILES['src']['type'][$x])){
     $target_dir = MEDIA_DIR;
    } else $target_dir = AFFIXED_DIR;
    $attached_file[$x] = $_attached_file[$x] = basename($_FILES['src']['name'][$x]);
    $attached_file[$x] = str_replace(array(' ', '　', "'"), '', $attached_file[$x]);
    if(!preg_match('{^[[:alnum:]\-\._]+$}', $attached_file[$x])){ // 非英数対策
     $split = explode('.', $attached_file[$x]);
     $fext = '.'.strtolower(array_pop($split));
     $attached_file[$x] = implode('.', $split);
     $attached_file[$x] = 'NONALNUM-'.url_encode($attached_file[$x]).$fext;
    }
    $attached_file[$x] = $target_dir.$attached_file[$x];
   }
  } else {
   if($PPDRAW){
    $_attached = DB.v_('aim'); $fs = round(filesize($_attached)/1024,1);
    list($w, $h, $imgtype, $wh) = getimagesize($_attached);
    $target_dir = IMG_DIR; $isImage = 1; $breadth = 0;
    $attached_file[$x] = $target_dir.v_('aim');
    copy($_attached, $attached_file[$x]); unlink(PATH.$_attached);
    $_attached_file[$x] = $attached_file[$x];
   }
  }
  if( (isset($_FILES['src']['tmp_name'][$x]) && move_uploaded_file($_FILES['src']['tmp_name'][$x], $attached_file[$x])) ||
     $MT_IMPORT || $PPDRAW){ // 添付ファイルが無事にupされたら #1
   $uid = $MT_IMPORT ? $uid : ( v_('UID')!='' ? v_('UID') : time());
   @chmod($attached_file[$x], 0644);
   $split = explode('.', $b=basename($attached_file[$x]));
   $fext = '.'.strtolower(array_pop($split));
   $fmtime = time();
   $fname = str_replace(array($fext, strtoupper($fext), strtolower($fext)), '', $b);
   $fname = ($count > 1) ? $x.'multiple_'.$fname : $fname;
   $_attached[$x] = $target_dir.$uid.'_'.$fname.$fext;
   if($target_dir==IMG_DIR){ // image file?
    if(min($w, $h) != 0){
     $ratio = ($breadth==0) ? 1 : $breadth / max($w, $h);
    } else {
     $errorMsg[] = 'アップロードした画像に問題があったようです。サイズが取得できません。';
    }
    if($ratio < 1 && GD==TRUE && $imgtype != 6){
     create_thumbnail($attached_file[$x], $_attached[$x], $w, $h, $ratio, $quality);
     unlink($attached_file[$x]);
     $isThumb = 1;
    } else { // BMP || $ratio == 1
     if(file_exists($_attached[$x])) unlink($_attached[$x]);
     rename($attached_file[$x], $_attached[$x]);
    }
    list($real_w, $real_h, $imgtype, $real_wh) = getimagesize($_attached[$x]);

    if(max($real_w, $real_h) != 0){
     $ratio2 = MAX_ISIZE / max($real_w, $real_h);
     if($ratio2 < 1){ // 記事表示サイズより大きければ
      if(GD==TRUE){
       if($imgtype != 6){ # BMPでなければ
        create_thumbnail($_attached[$x], $thumb2img=str_replace(IMG_DIR, IMG_DIR.THUMB2, $_attached[$x]), $real_w, $real_h, $ratio2, $quality);
        list($t2w,$t2h,,$t2wh) = getimagesize($thumb2img);
        $isThumb2 = 1; // Created in s2 dirrectory!
       } else { # for bitmap
        $t2w = round($ratio2 * $real_w); $t2h = round($ratio2 * $real_h);
       }
      } else { # GD Not Supported
       $t2w = round($ratio2 * $real_w); $t2h = round($ratio2 * $real_h);
      }
     }
     if(!$MT_IMPORT && max($real_w, $real_h) > 280){
      if($isThumb2){
       if(max($t2w, $t2h) > 280){
        $r2 = 280/max($t2w, $t2h);
        $disp_w = round($t2w * $r2);
        $disp_h = round($t2h * $r2);
       } else {
        $disp_w = $t2w; $disp_h = $t2h;
       }
      } else {
       $r2 = 280/max($real_w, $real_h);
       $disp_w = round($real_w * $r2);
       $disp_h = round($real_h * $r2);
      }
     } else {
      $disp_w = $real_w; $disp_h = $real_h;
     }
     if(!$MT_IMPORT) $output = '<img src="'.($isThumb2 ? $thumb2img : $_attached[$x]).'" width="'.$disp_w.'" height="'.$disp_h.'" class="photo" alt="*" title="大きさ：'.$real_w.'x'.$real_h.'" />';
    }
    $real_fs = round(filesize($_attached[$x])/1024, 1);
    if($MT_IMPORT) $output = '<img src="'.$_attached[$x].'" alt="'.$real_fs.':'.$real_w.':'.$real_h.':'.$t2w.':'.$t2h.':'.$alt.':'.PICTURE_ALIGN.':'.PICTURE_SHADOW.':'.PICTURE_BORDER.'::" />';
   /* s1画像の生成、DB化 */
    $ratio_s1 = THUMB_ISIZE / max($real_w, $real_h);
    if($ratio_s1 < 1 && GD==TRUE){
     if($imgtype != 6){ # Not BMP
      $thumb = str_replace(IMG_DIR, IMG_DIR.THUMB1, $_attached[$x]);
      if(!is_file($thumb)) create_thumbnail($_attached[$x], $thumb, $real_w, $real_h, $ratio_s1, $quality);
      $_th = getimagesize($thumb);
      $thumb_info = "$_th[0]|$_th[1]|".round(filesize($thumb)/1024,1).'|0|'.($ratio2 < 1 ? "$t2w|$t2h|\n" : NL);
     } else $thumb_info .= round($ratio_s1*$real_w)."|".round($ratio_s1*$real_h)."|BMP|\n"; // BMP
    } else $thumb_info .= NL; // small enough
    if(!isset($category)){
     $hit = preg_grep('{'.$uid.'\|}', $images_cache);
     if(!empty($hit)){
      list(,,,,,,$category,$title,) = explode('|', $hit[0]);
     } else $category = $title = '';
    }
    array_unshift($images_cache, sprintf("%010s", $uid)."|$fmtime|$fname$fext|$real_w|$real_h|$real_fs|$category|$title|\t$thumb_info");
    rewrite($db, $images_cache);
    update_images_cache($images_cache); //update!
   } else { # !IMG_DIR
    $output = TRUE; $isImage = 0;
    rename($attached_file[$x], $_attached[$x]);
    if($target_dir==MEDIA_DIR){
     mod_images_DB(array($_attached[$x]), 'ADD', 'MEDIA');
    }
   }
   if($MT_IMPORT) return $output;
  } // end #1
 } #for-loop
 if($count > 1){
  unset($output, $_FILES);
  include 'upload.php';
  exit;
 }
}
?>
<!DOCTYPE html>
<html>
<head lang="ja"> 
<meta charset="UTF-8">
<title>FileUpLoadManager</title>
<style type="text/css">
html, body {
  font: 500 10pt trebuchet ms; background:url(Images/bg.png) #efe; overflow: auto;
}
#wrapper { width: 99%; margin: auto; text-align: center; }
fieldset { width: 90%; text-align :left; margin: 0 auto 10px auto; }
* html legend { margin-top: 1em; }
input { font: 500 9pt arial; height: auto; }
img.photo {
  margin: 1.5em 7px 7px 7px; padding: 7px; background-color: #fff;
  border: 1px solid #ccc; border-color: #ddd #999 #999 #ccc;
}
.exp {
  font:500 90%/1.5 trebuchet ms; color: #0E4F03; text-align: center;
  border: #FAA106 1px solid; background: #F8FDF7;
  width: 90%; margin: 20px auto 20px auto;
}
.help {
  background: ivory; border: #6E9565 2px solid;
  margin: 1em; font-size: 90%; padding: 0.3em; text-align: left;
}
.info-icon { vertical-align: top; padding-right: 5px; cursor: help; }
.hidden {display: none;}
.close {
  position: absolute; top: 0; right: 5px;
  width: 75px; height: 16px;
  cursor: pointer;
  background: url(Images/button-close.png) no-repeat;
}
</style>
</head>
<body>
<?php
echo '<div id="wrapper">
<h1>FileUpload Manager</h1>
';

if(isset($code)){
 echo '<script type="text/javascript">/*<![CDATA[*/
 var iframe = parent.document.getElementById("upfiles");
 iframe.style.height = "180px"; iframe.style.top = "150px";
 iframe.style.position = "fixed";
function _submit(){
 var code = \''.$code.'\';
 code = code.replace(/&quot;/g, \'"\');
 parent.insertFile(code);
 iframe.style.display = "none";
 iframe.firstChild.src = "";
}
';
?>
/*]]>*/</script>
<p>同じ設定を残りの画像にも適用しました。「OK」ボタンを押してください。</p>
<p><button onclick="_submit()" type="button">OK</button></p>
</body>
</html>
<?php
 return;
}

if(isset($output)){
 $resized = '
  <p style="line-height:1.3;">
  元の画像を縮小した結果<br />「 大きさ：<strong>'.$real_w.'(W)×'.$real_h.'(H) </strong>ピクセル　サイズ：<strong>'.$real_fs.'KB</strong>」となりました。
  </p>
';
 $not_resized = '<p>大きさ：<strong>'.$w.'(W)×'.$h.'(H) ピクセル</strong>　サイズ：<strong>'.$fs.'KB</strong></p>';
?>
<script type="text/javascript">/*<![CDATA[*/
var d = document, code;
var ie = d.selection ? 1 : 0;
var isImage = <?php echo (isset($isImage)&&$isImage=='')?0:1?>;
var isMovie = <?php echo (isset($target_dir)&&$target_dir==MEDIA_DIR)?1:0?>;
var isCreated = <?php echo isset($target_dir)?1:0?>;
var isThumb = <?php echo $isThumb?>;
var isThumb2 = <?php echo isset($t2w)?1:0?>;
var standalone = <?php echo $standalone?>;
var iframe = parent.document.getElementById('upfiles');
var _IMGDIR = '<?php echo $MULTIPLE ? '' : IMG_DIR?>';
var _FILETYPE = '<?php echo !empty($_FILES['src'])?$_FILES['src']['type']:""?>';
parent._DIRPATH = 'src="<?php echo isset($_POST['dirpath'])?$_POST['dirpath']:""?>":';
var _FILE = '<?php echo $MULTIPLE ? $attached_file : $uid.'_'.$fname.$fext?>';
var _FS = '<?php echo ($real_fs > 0)?$real_fs:$fs?>';
var _W = isThumb ? '<?php echo $real_w?>' : '<?php echo $w?>';
var _H = isThumb ? '<?php echo $real_h?>' : '<?php echo $h?>';
var _DH = <?php echo isset($disp_h) ? $disp_h : 280?>;
var _TW = isThumb2 ? '<?php echo isset($t2w)?$t2w:0?>' : '0';
var _TH = isThumb2 ? '<?php echo isset($t2h)?$t2h:0?>' : '0';
var _ALT = '<?php echo $MULTIPLE ? $fname : ($fname=str_replace(array("'", '.'), array('&#39;', ''), $fname));?>:';
var _DESC = '<?php echo isset($description)?$description:'[caption]'?>:';
var _ALGN, _SDW, _BD;
var _CANVAS = '',  _CVPHOTO = '', _CVSTAMP = '', _CVCANCEL = false, _POLAROID = '';
var _CVANGLE = parent.oParts.cookie.get('PPBLOG_CVANGLE', _CVANGLE);

function $(id){return d.getElementById(id) ? d.getElementById(id) : null;};

function _submit(count){
 if(isImage){
  if($('IL').checked==true) _ALGN = ':left';
  if($('IR').checked==true) _ALGN = ':right';
  if($('IC').checked==true) _ALGN = ':center';
  if($('IN').checked==true) _ALGN = ':none';
  if($('shadow-on').checked==true) _SDW = ':1';
  if($('shadow-off').checked==true) _SDW = ':0';
  if($('bordered').checked==true) _BD = ':1:';
  if($('borderless').checked==true) _BD = ':0:';
  if($('ALT').value!=_ALT) _ALT = $('ALT').value.replace(',','&#44;').replace('|','&#1240;').replace('"','&quot;').replace(':','&#58;');
  if($('img-desc').value!=_DESC){
   _DESC = $('img-desc').value.replace('|','&#1240;').replace(',','&#44;').replace('"','&quot;').replace(':','&#58;');
  }
  if($('CPP').checked==true) _POLAROID = ':1';
  if($('CPN').checked==true) _POLAROID = ':0';
  if($('cv-photo').checked==true) _CVPHOTO = ' class="photo-effect';
  if($('cv-stamp').checked==true) _CVSTAMP = ' class="photo-effect stamp-frame';
  if($('cv-cancel').checked==true) _CVCANCEL = true;
  _CVANGLE = isNaN(_CVANGLE) ? 3 : _CVANGLE;
  _CVANGLE = isNaN(parseInt($('cv-angle').value)) ? _CVANGLE : parseInt($('cv-angle').value);
  parent.oParts.cookie.set('PPBLOG_CVANGLE', Number(_CVANGLE));
  if(!_CVCANCEL){
   if(_CVPHOTO != '') _CANVAS = _CVPHOTO + (_CVANGLE ? ' photo-angle'+_CVANGLE+'" ' : '" ');
   if(_CVSTAMP != '') _CANVAS = _CVSTAMP + (_CVANGLE ? ' photo-angle'+_CVANGLE+'" ' : '" ');
  }
  // IMAGE FORMAT
  // alt="file size:w:h:thumb w:thumb h:alt:align:shadow:border:desc:"
  code = '\r\n<img src="'+_IMGDIR+_FILE+'" alt="'+_FS+':'+_W+':'+_H+':'+_TW+':'+_TH+':'+_ALT+_ALGN+_SDW+_BD+_DESC+_POLAROID+':"'+_CANVAS+'/>';
 } else if(isMovie){
  code = '\r\n[media:'+_FILE+':'+_FS+':'+_FILETYPE+'/]';
 } else {
  code = '\r\n[file:'+_FILE+':'+_FS+'/]';
 }
 if(!standalone) parent.insertFile(code);
 if(count > 0){
  if($('applyAll').checked==true){
   _DESC = '[caption]';
   iframe.firstChild.src = 'upload.php?type=applyall&tmp='+encodeURIComponent(_ALGN+_SDW+_BD+_DESC+_POLAROID+':"'+_CANVAS);
  } else iframe.firstChild.src = 'upload.php';
 } else {
  iframe.firstChild.src = 'about:blank';
  iframe.style.display = 'none';
 }
}

if(isCreated && isImage){
 iframe.style.width = '520px';
 iframe.firstChild.style.width = '100%';
 var height = standalone ? Number(_DH) + 280 + 'px' : Number(_DH) + 720 + 'px';
 iframe.style.height = height;
 iframe.firstChild.style.height = '98%'; 
}

function _refresh(){
 parent.parent.window.location = 'admin.php?mode=imager';
}

function closeThis(){
 iframe.style.display ='none';
 iframe.firstChild.src = 'upload.php?type=cancel';
}

window.onload = function(){
 if($('cv-angle')){
  $('cv-angle').value = _CVANGLE;
 }
 parent.o('#progressbar').hide();
 if(parent.uploadChecker){
  clearInterval(parent.uploadChecker);
  for(var i = 0; i < parent.oParts.server.queue.length; i++){
   if(parent.oParts.server.queue[i]) parent.oParts.server.abort(parent.oParts.server.queue[i]);
   parent.oParts.server.queue[i] = null;
  }
  parent.oParts.server.queue = [];
 }
};

/*]]>*/</script>
<?php
 echo '<h3>'.($MULTIPLE ? '複数' : '').'アップロード完了</h3>'.NL;
 if($isImage==TRUE){
  if($standalone==TRUE){
   echo ($isThumb) ? $resized : $not_resized;
   echo '
   <p>以下生成された画像です。画像をクリックして下さい。</p>
   <p><a href="#controlPanel" onclick="_refresh();return false;">
    '.$output.'
   </a></p>
   ';
  } else {
   echo ($isThumb) ? $resized : $not_resized;
   echo '
  以下生成された画像'.((int)($MULTIPLE) ? ' ['.($x + 1).'/'.(int)($MULTIPLE).'] ' : '').'です(大きいものは縮小表示されています)。
  お好みの設定の後、<span style="border-bottom: 1px solid #333;">画像をクリック</span>して下さい。
  '.($MULTIPLE ? '<span style="color:crimson;">クリック後、次の画像の設定に移ります。</span>
  <p><input type="checkbox" id="applyAll" value="1" /><label for="applyAll">同じ設定を残りの画像にも適応させる。</label></p>' : '').'
  </p>
  <p><a href="#controlPanel" onclick="_submit('.(int)($MULTIPLE - 1).');return false;">
   '.$output.'
  </a></p>
  <form>
  <fieldset>
  <legend>代替テキスト(ALT属性)</legend>
   <input type="text" id="ALT" value="'.$fname.'" size="20" />
  </fieldset>
  <fieldset>
  <legend>画像の配置(フロート属性)</legend>
   <input type="radio" name="align" id="IL"'.(PICTURE_ALIGN=='left'?' checked="checked"':'').' /><label for="IL" title="文字は右に回りこみます">左寄せ</label>
   <input type="radio" name="align" id="IC"'.(PICTURE_ALIGN=='center'?' checked="checked"':'').' /><label for="IC" title="画像が中央に表示されます">センタリング</label>
   <input type="radio" name="align" id="IR"'.(PICTURE_ALIGN=='right'?' checked="checked"':'').' /><label for="IR" title="文字は左に回りこみます">右寄せ</label>
   <input type="radio" name="align" id="IN"'.(PICTURE_ALIGN=='none'?' checked="checked"':'').' /><label for="IN" title="文字は画像の上か下に表示されます">指定しない</label>
  </fieldset>
  <fieldset>
  <legend>写真の影・ボーダー指定</legend>
   <input type="radio" name="shadow" id="shadow-on"'.(PICTURE_SHADOW?' checked="checked"':'').' /><label for="shadow-on">影あり</label>
   <input type="radio" name="shadow" id="shadow-off"'.(!PICTURE_SHADOW?' checked="checked"':'').' /><label for="shadow-off">影なし</label>　　
   <input type="radio" name="border" id="bordered"'.(PICTURE_BORDER?' checked="checked"':'').' /><label for="bordered">白枠あり</label>
   <input type="radio" name="border" id="borderless"'.(!PICTURE_BORDER?' checked="checked"':'').' /><label for="borderless">白枠なし</label>
  </fieldset>
  <fieldset>
  <legend>画像に対する説明（空白以外のときは画像の下に反映されます)</legend>
   <input type="text" name="img-desc" id="img-desc" size="60" style="width:95%;" />
   <p style="text-align: center;margin-top: 0;"><input type="radio" name="capalign" id="CPP"'.(PICTURE_POLAROID?' checked="checked"':'').' /><label for="CPP" title="">ポラロイド風(シャドウ・ボーダー有効時のみ)<img src="Images/help.png" title="キャプションは画像ボーダー内に表示されます" alt="" /></label>
   <input type="radio" name="capalign" id="CPN"'.((!PICTURE_POLAROID || !PICTURE_BORDER)?' checked="checked"':'').' /><label for="CPN">ノーマル<img src="Images/help.png" title="キャプションは画像の下、ボーダー外側に表示されます" alt="" /></label></p>
  </fieldset>
  <fieldset>
  <legend>お洒落な演出（オプション）</legend>
   <input type="radio" name="canvas" id="cv-photo" /><label for="cv-photo">写真風</label>　あるいは
   <input type="radio" name="canvas" id="cv-stamp" /><label for="cv-stamp">切手風</label>　
   <input type="radio" name="canvas" id="cv-cancel" /><label for="cv-cancel" title="効果を取り消します">キャンセル</label><br />
   &nbsp;&nbsp;傾きの角度(-360°～360°: -5から5を推奨):
   <input type="text" name="cv-angle" id="cv-angle" size="3" value="3" />度
  </fieldset>
  </form>
   ';
   }
  } else { // Not image file
   echo '<p>添付ファイル:<strong>'.basename($_attached_file[0]).'　('.$fs.'KB)</strong> を無事にアップロードしました。'.NL;
   if(!$standalone){
    echo '<br />「OK」ボタンを押すとテキストエリアにタグが挿入されます。</p>'.NL;
   } else echo '<br />「OK」ボタンを押して下さい。</p>'.NL;
   echo '
  <form>
  <p><button onclick="'.($standalone ? '_refresh()' : '_submit(0)').';return false;"> O K </button></p>
  </form>
  </div></body></html>
  ';
 }
 unset($output);
} else {
 $UID = !v_('UID') ? time() : v_('UID');
 echo '
<script type="text/javascript">/*<![CDATA[*/
function closeThis(){
 var u = parent.document.getElementById("upfiles");u.style.display="none";u.firstChild.src="";
}
parent.window.alert = function(s){
 if(!confirm(s)) this.alert = function(){ return false};
}

/*]]>*/</script>
<form method="post" action="upload.php" enctype="multipart/form-data">
<fieldset>
<input type="hidden" name="MAX_FILE_SIZE" value="'.(MAX_FSIZE*1024*1024).'" />
<input type="hidden" name="dirpath" id="dirpath" value="" />
<input type="hidden" name="UID" id="UID" value="'.$UID.'" />
<input type="hidden" name="standalone" id="standalone" value="'.$standalone.'" />
<input type="hidden" name="mode" id="mode" value="'.g_('mode').'" />
<dl class="center"> 
<dt>■ お手元のコンピュータにあるファイルを指定して下さい。</dt>
<dd><input type="file" multiple name="src[]" id="src" size="36" /> <input onclick="parent.startUpload(); return true;" type="submit" value="Upload" /></dd>
<dt>■ 画像であれば画像の大きさ(ピクセル)の最大値を指定してください。<br />
 　　<strong>0</strong> のままだと元のサイズのままアップします。
<br />　　ここで指定した大きさよりも大きい画像はリサイズ
<img src="Images/help.png" alt="" class="info-icon"
   onmouseover="this.nextSibling.style.display=\'block\';"
   onmouseout="this.nextSibling.style.display=\'none\';" /><div class="hidden help">
   更に言えば，「環境設定」で指定した，記事での表示画像の大きさ <strong>'.MAX_ISIZE.'</strong> よりも大きい値のときは，指定したサイズで
   <strong>PIX</strong> ディレクトリにアップされると同時に，その下にある
   <strong>s2</strong> というディレクトリにサムネイルの画像も作成されます。
   </div> されて保存されます。</dt>
<dd>最大値 <input type="text" name="breadth" size="3" value="'.$breadth.'"/> px</dd>
<dt>■ アップロードできるファイルサイズの上限は　「環境設定 &raquo; テーマ・色関連」　での設定により<span style="color:crimson;">'.MAX_FSIZE.'MB</span>となっています。</dt>
<dt>■ JPEG画像のクオリティ(品質)設定：デジカメ写真などを圧縮する際の品質。初期値は75です <img src="Images/help.png" alt="" class="info-icon"
   onmouseover="this.nextSibling.style.display=\'block\';"
   onmouseout="this.nextSibling.style.display=\'none\';" /><div class="hidden help">
   0が一番低い品質で100が最高です。高い値を指定するとそれに応じてファイルサイズも大きくなります。75の品質で今イチな場合の推奨値は 85～90 です。
   </div></dt>
<dd>品質 <input type="text" name="quality" size="3" value="'.$quality.'"/> [0から100までの整数値]</dd>
'.(!$standalone ? '
<dt>■ すでにアップロードしたファイルから選択したいときは<a href="#" onclick="window.location=\'insertImage.php?UID='.$UID.'&amp;KY='.$key1.'\';return false;">ここ</a>をクリック。</dt>' : '').'
</dl>
</fieldset>
</form>
 ';
}

?>
<div class="close" title="このウィンドウを閉じる" onclick="closeThis()">&nbsp;</div>
</div>
</body> 
</html>
